package org.rvk.vms.dal.entities;

import java.io.Serializable;
import java.util.Date;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.NamedQuery;
import javax.persistence.Table;


/**
 * The persistent class for the person database table.
 * 
 */
@Entity
@Table(name="volunteer")
@Inheritance(strategy = InheritanceType.JOINED)
@NamedQuery(name="Volunteer.findAll", query="SELECT v FROM Volunteer v")
public class Volunteer implements Serializable {

	private static final long serialVersionUID = -8951480875775290417L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(unique=true, nullable=false)
	private int id;
	
	@Column(unique=true, nullable=false)
	private String code;
	
	@Column(name="ismaster")
	private Boolean master;
	
	private String masterCode;
	
	private String source;
	private String sourceSerial;
	
	@Column(nullable=false, length=108)
	private String firstName;
	
	@Column(length=108)
	private String lastName;
	
	@Column(length=16)
	private String smartcard;
	
	private String namesmartcard;
	
	@Column(length=64)
	private String mobile;
	
	@Column(length=128)
	private String email;
	
	@Column(length=1)
	private Integer gender;
	
	private Date dob;
	
	/*@Column(length=512)
	private String address;*/
	
	@Column(length=64)
	private String city;

	@Column(length=64)
	private String district;
	
	@Column(length=2)
	private String state;
	
	@Column(length=2)
	private String country;
	
	private String qualification;
	private String skills;
	
	@Column(name="haseventexperience")
	private Boolean eventexperienced;
	
	@Column(name="hastrainingexeprience")
	private Boolean trainingexeprienced;
	
	private Timestamp createdAt;
	
	@Column(nullable=false)
	private Timestamp updatedAt;

	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * @return the firstName
	 */
	public String getFirstName() {
		return firstName;
	}

	/**
	 * @param firstName the firstName to set
	 */
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	/**
	 * @return the lastName
	 */
	public String getLastName() {
		return lastName;
	}

	/**
	 * @param lastName the lastName to set
	 */
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	/**
	 * @return the smartcard
	 */
	public String getSmartcard() {
		return smartcard;
	}

	/**
	 * @param smartcard the smartcard to set
	 */
	public void setSmartcard(String smartcard) {
		this.smartcard = smartcard;
	}

	/**
	 * @return the mobile
	 */
	public String getMobile() {
		return mobile;
	}

	/**
	 * @param mobile the mobile to set
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	/**
	 * @return the email
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * @param email the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * @return the dob
	 */
	public Date getDob() {
		return dob;
	}

	/**
	 * @param dob the dob to set
	 */
	public void setDob(Date dob) {
		this.dob = dob;
	}

	/**
	 * @return the gender
	 */
	public int getGender() {
		return gender;
	}

	/**
	 * @param gender the gender to set
	 */
	public void setGender(int gender) {
		this.gender = gender;
	}


	/**
	 * @return the city
	 */
	public String getCity() {
		return city;
	}

	/**
	 * @param city the city to set
	 */
	public void setCity(String city) {
		this.city = city;
	}

	/**
	 * @return the district
	 */
	public String getDistrict() {
		return district;
	}

	/**
	 * @param district the district to set
	 */
	public void setDistrict(String district) {
		this.district = district;
	}

	/**
	 * @return the state
	 */
	public String getState() {
		return state;
	}

	/**
	 * @param state the state to set
	 */
	public void setState(String state) {
		this.state = state;
	}

	/**
	 * @return the country
	 */
	public String getCountry() {
		return country;
	}

	/**
	 * @param country the country to set
	 */
	public void setCountry(String country) {
		this.country = country;
	}

	/**
	 * @return the code
	 */
	public String getCode() {
		return code;
	}

	/**
	 * @param code the code to set
	 */
	public void setCode(String code) {
		this.code = code;
	}

	/**
	 * @return the master
	 */
	public boolean isMaster() {
		return master;
	}

	/**
	 * @param master the master to set
	 */
	public void setMaster(Boolean master) {
		this.master = master;
	}

	/**
	 * @return the masterCode
	 */
	public String getMasterCode() {
		return masterCode;
	}

	/**
	 * @param masterCode the masterCode to set
	 */
	public void setMasterCode(String masterCode) {
		this.masterCode = masterCode;
	}

	/**
	 * @return the source
	 */
	public String getSource() {
		return source;
	}

	/**
	 * @param source the source to set
	 */
	public void setSource(String source) {
		this.source = source;
	}

	/**
	 * @return the sourceSerial
	 */
	public String getSourceSerial() {
		return sourceSerial;
	}

	/**
	 * @param sourceSerial the sourceSerial to set
	 */
	public void setSourceSerial(String sourceSerial) {
		this.sourceSerial = sourceSerial;
	}

	/**
	 * @return the namesmartcard
	 */
	public String getNamesmartcard() {
		return namesmartcard;
	}

	/**
	 * @param namesmartcard the namesmartcard to set
	 */
	public void setNamesmartcard(String namesmartcard) {
		this.namesmartcard = namesmartcard;
	}

	/**
	 * @return the qualification
	 */
	public String getQualification() {
		return qualification;
	}

	/**
	 * @param qualification the qualification to set
	 */
	public void setQualification(String qualification) {
		this.qualification = qualification;
	}

	/**
	 * @return the skills
	 */
	public String getSkills() {
		return skills;
	}

	/**
	 * @param skills the skills to set
	 */
	public void setSkills(String skills) {
		this.skills = skills;
	}

	/**
	 * @return the eventexperience
	 */
	public boolean isEventexperienced() {
		return eventexperienced;
	}

	/**
	 * @param eventexperience the eventexperience to set
	 */
	public void setEventexperienced(Boolean eventexperience) {
		this.eventexperienced = eventexperience;
	}

	/**
	 * @return the trainingexeprience
	 */
	public boolean isTrainingexeprienced() {
		return trainingexeprienced;
	}

	/**
	 * @param trainingexeprience the trainingexeprience to set
	 */
	public void setTrainingexeprienced(Boolean trainingexeprience) {
		this.trainingexeprienced = trainingexeprience;
	}

	/**
	 * @return the createdAt
	 */
	public Timestamp getCreatedAt() {
		return createdAt;
	}

	/**
	 * @param createdAt the createdAt to set
	 */
	public void setCreatedAt(Timestamp createdAt) {
		this.createdAt = createdAt;
	}

	/**
	 * @return the updatedAt
	 */
	public Timestamp getUpdatedAt() {
		return updatedAt;
	}

	/**
	 * @param updatedAt the updatedAt to set
	 */
	public void setUpdatedAt(Timestamp updatedAt) {
		this.updatedAt = updatedAt;
	}

}